package com.aspose.cells;

import java.util.ArrayList;

class zbby {
   static void a(ArrayList var0, WorksheetCollection var1) {
      try {
         Object var2 = null;
         Object var3 = null;
         byte[] var4 = (byte[])((byte[])var0.get(0));
         int var5 = com.aspose.cells.b.a.zc.a(var4, 4);
         int var6 = 0;
         int var7 = 8;
         zbpx var11 = var1.g;

         label131:
         for(int var12 = 0; var12 < var5; ++var12) {
            if (var7 >= var4.length) {
               ++var6;
               var7 = 0;
               var4 = (byte[])((byte[])var0.get(var6));
            }

            int var13 = com.aspose.cells.b.a.zc.e(var4, var7) & '\uffff';
            int var14 = var4[var7 + 2] & 255 & 13;
            var7 += 3;
            boolean var15 = (var14 & 1) == 0;
            int var16 = 0;
            int var17 = 0;
            if ((var14 & 8) != 0) {
               var17 = (com.aspose.cells.b.a.zc.e(var4, var7) & '\uffff') * 4;
               var7 += 2;
            }

            if ((var14 & 4) != 0) {
               var16 = com.aspose.cells.b.a.zc.a(var4, var7);
               var7 += 4;
            }

            zayy var10;
            if (var13 == 0) {
               var10 = new zayy("", 0);
               var11.a(var10, var12);
               var7 += var16 + var17;
            } else {
               byte[] var8 = new byte[var13 * 2];
               int var18 = 0;

               while(true) {
                  while(true) {
                     int var19;
                     while(var13 > 0) {
                        var19 = var4.length - var7;
                        int var20;
                        if (var15) {
                           if (var19 >= var13) {
                              for(var20 = 0; var20 < var13; ++var20) {
                                 var8[var18 + 2 * var20] = var4[var20 + var7];
                              }

                              var7 += var13;
                              var13 = 0;
                           } else {
                              for(var20 = 0; var20 < var19; ++var20) {
                                 var8[var18 + 2 * var20] = var4[var20 + var7];
                              }

                              var13 -= var19;
                              var18 += var19 * 2;
                              ++var6;
                              var4 = (byte[])((byte[])var0.get(var6));
                              var15 = (var4[0] & 255 & 1) == 0;
                              var7 = 1;
                           }
                        } else {
                           var20 = var13 + var13;
                           if (var19 >= var20) {
                              System.arraycopy(var4, var7, var8, var18, var20);
                              var7 += var20;
                              var13 = 0;
                           } else {
                              System.arraycopy(var4, var7, var8, var18, var19);
                              var13 -= var19 / 2;
                              var18 += var19;
                              ++var6;
                              var4 = (byte[])((byte[])var0.get(var6));
                              var15 = (var4[0] & 255 & 1) == 0;
                              var7 = 1;
                           }
                        }
                     }

                     String var9 = Encoding.getUnicode().a(var8);
                     if (var17 == 0 && var16 == 0) {
                        var10 = new zayy(var9, 0);
                        var11.a(var10, var12);
                        continue label131;
                     }

                     byte[] var23 = null;
                     byte[] var22 = null;
                     if (var17 > 0) {
                        var22 = new byte[var17];
                        var18 = 0;

                        while(var17 > 0) {
                           var19 = var4.length - var7;
                           if (var19 >= var17) {
                              System.arraycopy(var4, var7, var22, var18, var17);
                              var7 += var17;
                              var17 = 0;
                           } else {
                              System.arraycopy(var4, var7, var22, var18, var19);
                              var17 -= var19;
                              var18 += var19;
                              ++var6;
                              var4 = (byte[])((byte[])var0.get(var6));
                              var7 = 0;
                           }
                        }
                     }

                     if (var16 > 0) {
                        var23 = new byte[var16];
                        var18 = 0;

                        while(var16 > 0) {
                           var19 = var4.length - var7;
                           if (var19 >= var16) {
                              System.arraycopy(var4, var7, var23, var18, var16);
                              var7 += var16;
                              var16 = 0;
                           } else {
                              System.arraycopy(var4, var7, var23, var18, var19);
                              var16 -= var19;
                              var18 += var19;
                              ++var6;
                              var4 = (byte[])((byte[])var0.get(var6));
                              var7 = 0;
                           }
                        }

                        var19 = com.aspose.cells.b.a.zc.e(var23, 10) & '\uffff';
                        if (var19 == 0) {
                           var23 = null;
                        }
                     }

                     var11.a(var9, var12, var22, var23);
                     continue label131;
                  }
               }
            }
         }

      } catch (Exception var21) {
         throw new CellsException(6, "Invalid string in the file.");
      }
   }
}
